﻿//PlazaMcxOrderBookColumns.cs
//Copyright (c) 2013 StockSharp LLC, all rights reserved.
//This code module is part of StockSharp library.
//This code is licensed under the GNU GENERAL PUBLIC LICENSE Version 3.
//See the file License.txt for the license details.
//More info on: http://stocksharp.com

namespace StockSharp.Plaza.Metadata
{
	using System;

	/// <summary>
	/// Колонки таблицы, содержащей котировки по инструментам.
	/// MCXSPOT_AGGR_REPL - таблица ORDERBOOK.
	/// MCXCC_AGGR_REPL - таблица ORDERBOOK.
	/// </summary>
	public abstract class PlazaMcxOrderBookColumns : PlazaColumns
	{
		internal PlazaMcxOrderBookColumns(string tableId)
			: base(tableId)
		{
			SecBoard = new PlazaColumn(TableId, "SECBOARD", "c4");
			SecCode = new PlazaColumn(TableId, "SECCODE", "c12");
			BuySell = new PlazaColumn(TableId, "BUYSELL", "c1");
			Price = new PlazaColumn(TableId, "PRICE", "d16.6");
			Quantity = new PlazaColumn(TableId, "QUANTITY", typeof(int));
			Yield = new PlazaColumn(TableId, "YIELD", "d16.2", false);

			// http://forum.rts.ru/viewtopic.asp?p=129065#129065
			// как потом сказал тех поддержку, это поле введено только для тестов, потому установил его как необязательное
			Time = new PlazaColumn(TableId, "_localtime", typeof(DateTime), false);
		}

		/// <summary>
		/// Идентификатор режима торгов для финансового инструмента.
		/// </summary>
		public readonly PlazaColumn SecBoard;

		/// <summary>
		/// Идентификатор финансового инструмента.
		/// </summary>
		public readonly PlazaColumn SecCode;

		/// <summary>
		/// Направленность заявки - "купля/продажа".
		/// </summary>
		public readonly PlazaColumn BuySell;

		/// <summary>
		/// Цена котировки.
		/// </summary>
		public readonly PlazaColumn Price;

		/// <summary>
		/// Количество ценных бумаг, выраженное в лотах.
		/// </summary>
		public readonly PlazaColumn Quantity;

		/// <summary>
		/// Доходность по цене котировки.
		/// </summary>
		public readonly PlazaColumn Yield;

		/// <summary>
		/// Время изменения стакана.
		/// </summary>
		public readonly PlazaColumn Time;
	}
}